{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Бесконечных значений нет в данных.\n",
      "0:\tlearn: 2.6566630\ttotal: 50.3ms\tremaining: 50.2s\n",
      "100:\tlearn: 1.1085116\ttotal: 2.84s\tremaining: 25.2s\n",
      "200:\tlearn: 0.6314421\ttotal: 5.23s\tremaining: 20.8s\n",
      "300:\tlearn: 0.4036543\ttotal: 7.58s\tremaining: 17.6s\n",
      "400:\tlearn: 0.2828730\ttotal: 9.94s\tremaining: 14.8s\n",
      "500:\tlearn: 0.2114603\ttotal: 12.3s\tremaining: 12.3s\n",
      "600:\tlearn: 0.1649875\ttotal: 14.7s\tremaining: 9.75s\n",
      "700:\tlearn: 0.1317312\ttotal: 17s\tremaining: 7.27s\n",
      "800:\tlearn: 0.1092859\ttotal: 19.4s\tremaining: 4.81s\n",
      "900:\tlearn: 0.0935559\ttotal: 21.7s\tremaining: 2.38s\n",
      "999:\tlearn: 0.0815472\ttotal: 24s\tremaining: 0us\n",
      "Accuracy of the model on the test set: 21.57%\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAncAAAIjCAYAAABh1T2DAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAa4xJREFUeJzt3QlYFVX/B/DvgGyhIoImrqQYKIq7uZW5praIZmavb5pZf7fM111MUqzEtLLFXEozlwwzl7fXzMrSLFM0FzAx3FAJNWQRXFgU7v850wNxERGQO3PuzPfTM8GdC/d+OXO5/jjnzBnFYrFYQERERESG4KB3ACIiIiIqPyzuiIiIiAyExR0RERGRgbC4IyIiIjIQFndEREREBsLijoiIiMhAWNwRERERGQiLOyIiIiIDYXFHREREZCAs7oioWCdOnEDPnj3h4eEBRVGwefPmcn38M2fOqI/76aefluvj2rOHH35Y3YiIyoLFHZEdOHXqFEaMGIH69evD1dUVlStXRseOHfHee+8hIyPDps89dOhQHDlyBG+88QZWr16N1q1bwyiee+45tbAU7VlUO4rCVtwvtrfeeqvUj3/+/HnMmjULhw8fLqfERER3VqEEX0NEOvr666/x1FNPwcXFBUOGDEGTJk2QnZ2NX375BZMnT8bRo0fx0Ucf2eS5RcGzZ88evPLKK3jppZds8hz16tVTn8fJyQl6qFChAq5fv47//e9/GDhwoNV9n332mVpMZ2ZmlumxRXEXFhYGX19fNG/evMTf991335Xp+YiIBBZ3RBKLi4vDoEGD1ALoxx9/hI+PT/59Y8aMwcmTJ9Xiz1YuXbqkfqxSpYrNnkP0iokCSi+iaBa9oJ9//vktxd3atWvx6KOPYsOGDZpkEUXmPffcA2dnZ02ej4iMicOyRBKbN28erl69iuXLl1sVdnn8/Pwwbty4/Ns3b97Ea6+9hgYNGqhFi+gxmj59OrKysqy+T+x/7LHH1N6/tm3bqsWVGPJdtWpV/teI4URRVAqih1AUYeL78oYz8z4vSHyP+LqCvv/+e3Tq1EktECtWrAh/f381053m3Ili9sEHH4S7u7v6vX379sWxY8eKfD5R5IpM4uvE3MBhw4aphVJJ/etf/8I333yDy5cv5+/bv3+/Oiwr7issJSUFkyZNQtOmTdWfSQzr9u7dG1FRUflfs3PnTrRp00b9XOTJG97N+znFnDrRC3vgwAE89NBDalGX1y6F59yJoXFxjAr//I888gg8PT3VHkIiojws7ogkJoYKRdHVoUOHEn39Cy+8gFdffRUtW7bEggUL0LlzZ4SHh6u9f4WJgmjAgAHo0aMH3n77bbVIEAWSGOYV+vfvrz6G8Mwzz6jz7d59991S5RePJYpIUVzOnj1bfZ4nnngCu3fvLvb7tm/frhYuiYmJagE3YcIE/Prrr2oPmygGCxM9bleuXFF/VvG5KKDEcGhJiZ9VFF4bN2606rULCAhQ27Kw06dPqyeWiJ/tnXfeUYtfMS9RtHdeodWoUSP1Zxb+7//+T20/sYlCLk9ycrJaFIohW9G2Xbp0KTKfmFtZrVo1tcjLyclR9y1dulQdvv3ggw9Qs2bNEv+sRGQCFiKSUlpamkX8ivbt27dEX3/48GH161944QWr/ZMmTVL3//jjj/n76tWrp+7btWtX/r7ExESLi4uLZeLEifn74uLi1K+bP3++1WMOHTpUfYzCZs6cqX59ngULFqi3L126dNvcec+xYsWK/H3Nmze3VK9e3ZKcnJy/LyoqyuLg4GAZMmTILc/3/PPPWz1mv379LF5eXrd9zoI/h7u7u/r5gAEDLN26dVM/z8nJsdSoUcMSFhZWZBtkZmaqX1P45xDtN3v27Px9+/fvv+Vny9O5c2f1viVLlhR5n9gK+vbbb9Wvf/311y2nT5+2VKxY0RIcHHzHn5GIzIc9d0SSSk9PVz9WqlSpRF+/detW9aPo5Spo4sSJ6sfCc/MaN26sDnvmET1DYshU9EqVl7y5ev/973+Rm5tbou+5cOGCenap6EWsWrVq/v6goCC1lzHv5yxo5MiRVrfFzyV6xfLasCTE8KsYSr148aI6JCw+FjUkK4ghbweHv98+RU+aeK68IeeDBw+W+DnF44gh25IQy9GIM6ZFb6DoaRTDtKL3joioMBZ3RJIS87gEMdxYEmfPnlULDjEPr6AaNWqoRZa4v6C6deve8hhiaDY1NRXl5emnn1aHUsVw8b333qsOD3/xxRfFFnp5OUWhVJgY6kxKSsK1a9eK/VnEzyGU5mfp06ePWkivW7dOPUtWzJcr3JZ5RH4xZN2wYUO1QPP29laL4+joaKSlpZX4OWvVqlWqkyfEciyi4BXF7/vvv4/q1auX+HuJyDxY3BFJXNyJuVS///57qb6v8AkNt+Po6FjkfovFUubnyJsPlsfNzQ27du1S59A9++yzavEjCj7RA1f4a+/G3fwseUSRJnrEVq5ciU2bNt22106YM2eO2kMq5s+tWbMG3377rXriSGBgYIl7KPPapzQOHTqkzkMUxBw/IqKisLgjkpiYsC8WMBZrzd2JOLNVFBbiDM+C/vrrL/Us0LwzX8uD6BkreGZpnsK9g4LoTezWrZt64kFMTIy6GLIY9tyxY8dtfw4hNjb2lvv++OMPtZdMnEFrC6KgEwWU6C0t6iSUPF9++aV68oM4i1l8nRgy7d69+y1tUtJCuyREb6UYwhXD6eIEDXEmtTijl4ioMBZ3RBKbMmWKWsiIYU1RpBUmCj9xJmXesKJQ+IxWUVQJYr228iKWWhHDj6InruBcOdHjVXjJkMLyFvMtvDxLHrHki/ga0YNWsFgSPZji7NC8n9MWRMEmlpJZuHChOpxdXE9h4V7B9evXIyEhwWpfXhFaVCFcWlOnTsW5c+fUdhHHVCxFI86evV07EpF5cRFjIomJIkosySGGMsV8s4JXqBBLg4iCQpx4IDRr1kz9x15crUIUE2JZjn379qnFQHBw8G2X2SgL0Vslio1+/frh5ZdfVteUW7x4Me6//36rEwrE5H8xLCsKS9EjJ4YUFy1ahNq1a6tr393O/Pnz1SVC2rdvj+HDh6tXsBBLfog17MTSKLYiehlnzJhRoh5V8bOJnjSxTI0YIhXz9MSyNYWPn5jvuGTJEnU+nyj2HnjgAdx3332lyiV6OkW7zZw5M39plhUrVqhr4YWGhqq9eERE+fQ+XZeI7uz48eOWF1980eLr62txdna2VKpUydKxY0fLBx98oC7LkefGjRvq8h333XefxcnJyVKnTh1LSEiI1dcIYhmTRx999I5LcNxuKRThu+++szRp0kTN4+/vb1mzZs0tS6H88MMP6lIuNWvWVL9OfHzmmWfUn6fwcxReLmT79u3qz+jm5mapXLmy5fHHH7fExMRYfU3e8xVeakU8ltgvHrukS6Hczu2WQhFLxvj4+Kj5RM49e/YUuYTJf//7X0vjxo0tFSpUsPo5xdcFBgYW+ZwFHyc9PV09Xi1btlSPb0Hjx49Xl4cRz01ElEcR//un1CMiIiIie8Y5d0REREQGwuKOiIiIyEBY3BEREREZCIs7IiIiIkmIFQHEGpkFt4CAgFI9BpdCISIiIpKIuNqNuLJPngoVSleusbgjIiIikogo5opbSP1OOCxLREREZEPiSjLp6elWW3FXlxGXkRTXFhcLow8ePFi9Ok1pGHKdu6hzVyCD6d8cgyw2DG+rdwSpLI88Axls/f3vi8DLQJbXSOx5OX5//WtW0jsCSY6vVWuudj4W6NbiJZs99tS+3ggLC7PaJ644U9QVd7755htcvXoV/v7+6mUdxfeJSxuKSzCKK92UhJ0fCiIiIiK5hYSEYMKECVb7XFxcivxacenFPEFBQeolC8XlG7/44gv1cowlweKOiIiISLHdTDVRyN2umLsTcX1qcd3ukydPlvh7OOeOiIiISFFst90FMUR76tQp+Pj4lPh7WNwRERERSWLSpEn46aefcObMGfz666/o168fHB0d8cwzz5T4MTgsS0RERKTI0d/1559/qoVccnIyqlWrhk6dOmHv3r3q5yXF4o6IiIhIEhEREXf9GCzuiIiIiJS7mxsnEzn6IImIiIioXLDnjoiIiEgxTn8Xi7tCYqIP4qv1qxF3/BhSU5IwadZbaNvxYU0z9GlcXd3urfT3mjhnUzPw+YEEHIhPgx4i1n6GlSuWIynpEu73D8C06aFoGhRkyiz7v47AqQO7kXohHhWcneHj1xgdBwyHp08daImvETl/d2VrE+aQMwdfq2RrxilTy0lWZgZ86zfE8LFTdcuQdC0bn0bGY9yG3zFu41FEJ6Qj9JGGqOvppnmWbd9sxVvzwjFi9BhErN8Ef/8AjBoxXD2Lx4xZEmKjEdT1cQyc8S6CJ4YjNycHm9+ZjhtZmdASXyNy/u7K1ibMIWcOvlYlpci5zl1ZsLgrpEXbjhg0bDTaduqiW4Z9Zy/jt/g0nE/Pwvm0TKza/ycyb+QioLq75llWr1yB/gMGIrjfk2jg54cZM8Pg6uqKzRs3mDJL8IQ5aNypJ7xq+aJa3Qbo/vxEXElOROKZE9ASXyNy/u7K1ibMIWcOvlYlHpZVbLRpjMWd5BwU4KEGVeHq5IBjf13V9LlvZGfjWMxRtGvf4Z88Dg5o164DoqMOmTZLQdkZ19SPru76XbibrxG5yNImzCFnDpmwTYxL1zl3SUlJ+OSTT7Bnzx5cvHhR3VejRg106NABzz33XKkW7DOaelXd8HZwYzg7OiDjRg5e//YE4i9rO/SXejkVOTk58PLystovbsfFnTZtljyW3Fzs+nwJfPwC4VXbV/Pn52tETrK0CXPImUMmbJNCuBTK3du/f796Idz3338fHh4eeOihh9RNfC72BQQE4Lfffrvj42RlZSE9Pd1qy87Kgr1LuJyJsV/+jgmbjmJrTCImdKmPOlVc9Y5FBexcsxDJCWfRa2SILs/P1wgREUnVczd27Fg89dRTWLJkCZRC1bLFYsHIkSPVrxG9esUJDw9HWFiY1b4R/5mGUeOnw57dzLXgQvrfRerJpOu4v5o7+jatgYU/n9Esg2cVT/V6doUn1orb3t7emuWQLUteYRcXFYknp72NSlX16WHma0ROsrQJc8iZQyZsE+MuhaLbTxIVFYXx48ffUtgJYp+47/Dhw3d8nJCQEKSlpVltw0dPhNGINnFy1LbL2MnZGY0aByJy7z8Fdm5uLiIj9yCoWQtTZhF/eIjC7tTBX9F/yjx4VKsBWZj9NSILWdqEOeTMIRO2iXHp1nMn5tbt27dPHX4tirjv3nvvvePjuLi4qFtBzpevlDlXZsZ1XEyIz7+deDEBZ07GomJlD3hX1+Yf8qFta6tnQl66kgU3Z0c87OeFpjUrIfTr89Das0OHIXT6VAQGNkGTpkFYs3olMjIyENyvvymziMIudu8OPPbyLDi5uuFaWoq638XNHRWcrV+HtsTXiJy/u7K1CXPImYOvVUkpxplzp1txN2nSJPzf//0fDhw4gG7duuUXcn/99Rd++OEHfPzxx3jrrbc0z3XqeAzCJo3Mv71qyQL1Y+cej2HMlFmaZKji5oSJXeqj6j1OuJadgzPJ1xH6dSwOJ6RDa71690FqSgoWLXxfXeDSP6ARFi1dBi8duuxlyHJkxxb148Y3J1vtF0uiiCVStMLXiJy/u7K1CXPImYOvVbI1xSLGmXSybt06LFiwQC3wxBk7ghj/b9WqFSZMmICBAweW6XGjzpW95648Tf/mGGSxYXhbvSNIZXmkdvPSirP190TIQpbXSOx5OX5//Wvqt7wN2Qe+Vq252vk1r9w6hdrssTN+eQ1a0vVQPP300+p248YNdVkUQUzidHJy0jMWERERmY3CYdlyJYo5Hx8fvWMQERER2T0pijsiIiIiXSlcCoWIiIiIJMSeOyIiIiLFOP1dxvlJiIiIiIg9d0RERERwMM7Zsuy5IyIiIjIQ9twRERERKcbp72JxR0RERKRwWJaIiIiIJGTInrtf4pMhgx+XrIIsljepDhl0quMFGQx/wBcykCWHTGS5TibRnfC1ajCKcfq7jPOTEBEREZExe+6IiIiISoVz7oiIiIhIRuy5IyIiIlKM099lnJ+EiIiIiNhzR0RERAQDzbljcUdERESkGGcw0zg/CRERERGx546IiIgIBhqWZc9dAfu/jkDE7LFYPCoYH48biC0fzELqhXjNc7wyog8yDi202g5vnGHa9hBiog9ibuh4jHi6Fwb2aI19u3dCTxFrP0PvHl3RpkVTDB70FI5ERzMHc0iZhTmYw56yUPlgcVdAQmw0gro+joEz3kXwxHDk5uRg8zvTcSMrU/MsR0+eh2/3kPyt2/MLTN0eWZkZ8K3fEMPHToXetn2zFW/NC8eI0WMQsX4T/P0DMGrEcCQna3vZO+aQM4dMWZiDOewpixRz7hQbbRpjcVdA8IQ5aNypJ7xq+aJa3Qbo/vxEXElOROKZE5pnuZmTi7+Sr+RvyZevmbo9WrTtiEHDRqNtpy7Q2+qVK9B/wEAE93sSDfz8MGNmGFxdXbF54wbmYA6psjAHc9hTFio/LO6KkZ3xd0Hl6q79xaH96lbD6e/eQMz/ZmHFG0NRp4YnzNwesriRnY1jMUfRrn2H/H0ODg5o164DoqMOMYfJc8iUhTmYw56ySDPnTrHRpjEWd7dhyc3Frs+XwMcvEF61fTV97v2/n8H/vboGT4z5EC/PWQffWl7Y/sl4VLzHBWZsD5mkXk5FTk4OvLy8rPaL20lJScxh8hwyZWEO5rCnLGSi4i4+Ph7PP/98sV+TlZWF9PR0q+1GdtZdP/fONQuRnHAWvUaGQGvf7Y7Bxu2H8PuJ89i+5xiCX1oMj4pueLJnS+hFz/YgIiKyOYVz7jSRkpKClStXFvs14eHh8PDwsNq+W734rguZuKhI9J8yD5WqVoPe0q5m4OS5RDSoo08W2dpDT55VPOHo6HjLZGNx29vbmzlMnkOmLMzBHPaURQoKi7ty8dVXXxW77dix446PERISgrS0NKut57OjypTHYrGohcypg7+qhYxHtRqQgbubM+6r7Y2LSWmaPq+s7aEnJ2dnNGociMi9e/L35ebmIjJyD4KatWAOk+eQKQtzMIc9ZSEDLWIcHBwMRVHUIuJ2xP3FcXFxUbeCnJxTypRHFDKxe3fgsZdnwcnVDdfS/n4cFzd3VHDWbr5b+Ph++HrXEZw7n4Ka1T0wY+SjyMnNxRfbDkBLsrSHkJlxHRcT/lljL/FiAs6cjEXFyh7wrq5t0fns0GEInT4VgYFN0KRpENasXomMjAwE9+vPHMwhVRbmYA57yqI7xTiLGOta3Pn4+GDRokXo27dvkfcfPnwYrVq10izPkR1b1I8b35xstV8sASKWBNFKrXurYFX4MFT1uAdJqVfx6+HT6DzkbfVzLcnSHsKp4zEImzQy//aqJX+v+9e5x2MYM2WWpll69e6D1JQULFr4PpKSLsE/oBEWLV0GL42HMZhDzhwyZWEO5rCnLFR+FEtx3WY29sQTT6B58+aYPXt2kfdHRUWhRYsWajdxaXy4+wxkMOmltyCLtxZOggw61bE+K0sv/jXNu5wLEZEtuNr5BU3d+i612WNn/HcEtKTroZg8eTKuXbv94rx+fn4lmndHRERERBIUdw8++GCx97u7u6Nz586a5SEiIiKTUowz507qpVCIiIiIqHTsfISciIiIqBwoxunvYnFHREREpHBYloiIiIgkxJ47IiIiMj2FPXdEREREJCP23BEREZHpKey5IyIiIiIZsefOhjxaPwxZyHIptNT9C/WOQLcRe/4KZMBLwxGRLhQYBnvuiIiIiAyEPXdERERkeoqB5tyxuCMiIiLTUwxU3HFYloiIiMhA2HNHREREpqew546IiIiIZMSeOyIiIjI9hT13RERERCQj9twRERERKTAM9twRERERGQiLuwL2fx2BiNljsXhUMD4eNxBbPpiF1AvxesfCS738cfHjAZj9dDNNn/eVEX2QcWih1XZ44wzoKWLtZ+jdoyvatGiKwYOewpHoaObQOUdM9EHMDR2PEU/3wsAerbFv907oRYb2kC0LczCHPWXRe86dYqNNayzuCkiIjUZQ18cxcMa7CJ4YjtycHGx+ZzpuZGXqlqm5ryeGdK6Po/GXdXn+oyfPw7d7SP7W7fkF0Mu2b7birXnhGDF6DCLWb4K/fwBGjRiO5ORk5tAxR1ZmBnzrN8TwsVOhJ1naQ6YszMEc9pSFyg+LuwKCJ8xB40494VXLF9XqNkD35yfiSnIiEs+c0CXPPS6O+PCFtpi46gDSrt/QJcPNnFz8lXwlf0u+fA16Wb1yBfoPGIjgfk+igZ8fZswMg6urKzZv3MAcOuZo0bYjBg0bjbadukBPsrSHTFmYgznsKYveFPbcmUN2xt+FjKt7JV2ef+6/WmB79EX8fCwRevGrWw2nv3sDMf+bhRVvDEWdGp665LiRnY1jMUfRrn2H/H0ODg5o164DoqMOMYdOOWQhU3vIkoU5mMOesshAYXFXfjIyMvDLL78gJibmlvsyMzOxatWqYr8/KysL6enpVtuN7Ky7zmXJzcWuz5fAxy8QXrV9obW+bWqjaV1PzNl4BHrZ//sZ/N+ra/DEmA/x8px18K3lhe2fjEfFe1w0z5J6ORU5OTnw8vKy2i9uJyUlMYdOOWQhU3vIkoU5mMOespCBirvjx4+jUaNGeOihh9C0aVN07twZFy5cyL8/LS0Nw4YNK/YxwsPD4eHhYbV9t3rxXWfbuWYhkhPOotfIEGitpqcbXh/UHKOX7UPWzVzo5bvdMdi4/RB+P3Ee2/ccQ/BLi+FR0Q1P9mypWyYiIiJbUNhzVz6mTp2KJk2aIDExEbGxsahUqRI6duyIc+fOlfgxQkJC1CKw4Nbz2VF3XdjFRUWi/5R5qFS1GrQWVM8T1Sq74vvQbvhzSX916+BfDS909VM/d9BpLZ60qxk4eS4RDepo3yaeVTzh6Oh4yyRfcdvb25s5dMohC5naQ5YszMEc9pSFDFTc/frrr2rPm3gR+fn54X//+x8eeeQRPPjggzh9+nSJHsPFxQWVK1e22pycyzZsaLFY1MLu1MFf1cLOo1oN6EHMsXt45nfoPnt7/nb4TAo2RJ5TP8+16BIL7m7OuK+2Ny4mpWn+3E7OzmjUOBCRe/fk78vNzUVk5B4ENWvBHDrlkIVM7SFLFuZgDnvKIgXFhpuZrlAh5ttVqPBPBNF1uXjxYrz00kvqEO3atWs1zSMKu9i9O/DYy7Pg5OqGa2kp6n4XN3dUKGPBWBbXsm7ij/PpVvuuZ+Ug9Vr2LfttKXx8P3y96wjOnU9BzeoemDHyUeTk5uKLbQegh2eHDkPo9KkIDGyCJk2DsGb1SvU1FNyvP3PomCMz4zouJvyzHmTixQScORmLipU94F29hunaQ6YszMEc9pSFDFLcBQQE4LffflPn3RW0cOFC9eMTTzyhaZ4jO7aoHze+Odlqv1gSRSyRYja17q2CVeHDUNXjHiSlXsWvh0+j85C31c/10Kt3H6SmpGDRwveRlHQJ/gGNsGjpMnhpPHzAHNZOHY9B2KSR+bdXLfl7LcTOPR7DmCmzTNceMmVhDuawpyx6U3SYG2crikWMRepEDMn+/PPP2Lp1a5H3jx49GkuWLFG7iUvjw91nIIPXPv0Nskj7Tb+rBhSUuv/vwp3kE3v+CmTgX1OfpYeI6O642vnV6r2fi7DZYyd9OgimmXMnToa4XWEnLFq0qNSFHREREZGZz5a18zqbiIiI6O4pBhqW1X0RYyIiIiIqPyzuiIiIiBQ5l0KZO3eu2qv4n//8p8Tfw+KOiIiISEL79+/H0qVLERQUVKrvY3FHREREpqdIdkLF1atXMXjwYHz88cfw9PQs1feyuCMiIiKyoaysLKSnp1ttYl9xxowZg0cffRTdu3cv9fOxuCMiIiLTU2zYcyfW9fXw8LDaxL7biYiIwMGDB4v9muJwKRQiIiIiG6/rO2HCBKt9Li5FX9Y0Pj4e48aNw/fffw9XV9cyPR+LOyIiIjI9xYbr3IlC7nbFXGEHDhxAYmIiWrZsmb8vJycHu3btUi/PKoZzHR0dzVfcdarjBRmcWTwAsnhyeV3IQJZLXD3y2reQQehzrSELWX5vZHmN8DJoROaiSLKIcbdu3XDkyBGrfcOGDUNAQACmTp16x8LOsMUdERERkT2qVKkSmjRpYrXP3d0dXl5et+y/HRZ3RERERAoMg8UdERERkcR27txZqq9ncUdERESmp0gy5648cJ07IiIiIgNhzx0RERGZnsKeOyIiIiKSEXvuiIiIyPQUA/XcsbgjIiIiUmAYHJYlIiIiMhAWd4XERB/E3NDxGPF0Lwzs0Rr7dpdubZnyFLH2M/Tu0RVtWjTF4EFP4Uh0tKbP36dxdSwc0ATrh7VSt7eCG6NVHQ+Y/bgU9FIvf1z8eABmP91M0+fd/3UEImaPxeJRwfh43EBs+WAWUi/Ew8zHRpYcsvz+Mgdz2GMWvYdlFRttWmNxV0hWZgZ86zfE8LFTdc2x7ZuteGteOEaMHoOI9Zvg7x+AUSOGIzk5WbMMSdey8WlkPMZt+B3jNh5FdEI6Qh9piLqebjDrcSmoua8nhnSuj6PxlzV/7oTYaAR1fRwDZ7yL4InhyM3JweZ3puNGVqZpj40sOWT5/WUO5rC3LFR+WNwV0qJtRwwaNhptO3XRNcfqlSvQf8BABPd7Eg38/DBjZhhcXV2xeeMGzTLsO3sZv8Wn4Xx6Fs6nZWLV/j+ReSMXAdXdYdbjkuceF0d8+EJbTFx1AGnXb2j+/MET5qBxp57wquWLanUboPvzE3ElORGJZ06Y9tjIkkOW31/mYA57y6I3hT13ZEs3srNxLOYo2rXvkL/PwcEB7dp1QHTUIV0yOSjAQw2qwtXJAcf+ugqzm/uvFtgefRE/H0uEDLIzrqkfXd0r6R3F9GT5/WUO5rCnLGSws2WPHTuGvXv3on379ggICMAff/yB9957D1lZWfj3v/+Nrl27Fvv94uvEVlB2VjacXVxgr1IvpyInJwdeXl5W+8XtuLjTmmapV9UNbwc3hrOjAzJu5OD1b08g/rL2Q38y6dumNprW9USvN36ADCy5udj1+RL4+AXCq7av3nFMT5bfX+ZgDnvKIgPFQEuh6Npzt23bNjRv3hyTJk1CixYt1NsPPfQQTp48ibNnz6Jnz5748ccfi32M8PBweHh4WG3LF72t2c9gdAmXMzH2y98xYdNRbI1JxIQu9VGniivMqqanG14f1Byjl+1D1s1cyGDnmoVITjiLXiND9I5CRERm77mbPXs2Jk+ejNdffx0RERH417/+hVGjRuGNN95Q7w8JCcHcuXOL7b0TXzNhwgSrfbF/ZcOeeVbxhKOj4y0TWsVtb29vTbPczLXgQvrfPaMnk67j/mru6Nu0Bhb+fAZmFFTPE9Uqu+L70G75+yo4OqBdQ28836UB6o7aiFyLtoVdXFQknpz2NipVrabdE5P0v7/MwRz2lEUGCnvuysfRo0fx3HPPqZ8PHDgQV65cwYABA/LvHzx4MKLvcEq2i4sLKleubLXZ85Cs4OTsjEaNAxG5d0/+vtzcXERG7kFQsxa6v/idHI3zC1BaYo7dwzO/Q/fZ2/O3w2dSsCHynPq5VoWdxWJRC7tTB39F/ynz4FGthjZPTHbz+8sczGFPWaSg2HAz25y7vEpZTOIUZ+iIYdU8lSpVQlpamqZ5MjOu42LCP+uFJV5MwJmTsahY2QPe1bX7B/TZocMQOn0qAgOboEnTIKxZvRIZGRkI7tdfswxD29ZWz5a9dCULbs6OeNjPC01rVkLo1+ehNVmOy7Wsm/jjfLrVvutZOUi9ln3LflsShV3s3h147OVZcHJ1w7W0FHW/i5s7Kji7mPLYyJJDlt9f5mAOe8tCBinufH19ceLECTRo0EC9vWfPHtStWzf//nPnzsHHx0fTTKeOxyBs0sj826uWLFA/du7xGMZMmaVZjl69+yA1JQWLFr6PpKRL8A9ohEVLl8FLw67yKm5OmNilPqre44Rr2Tk4k3wdoV/H4nCCdkWMbMdFFkd2bFE/bnxzstV+sSSKWCLFjMdGlhyy/P4yB3PYWxa9KQYallUsYnxHJ0uWLEGdOnXw6KOPFnn/9OnTkZiYiGXLlpXqcaPOXYEM/GvKsyzFk8v3QQZzejeCDB557VvIIPS51pBFpzrWZ8yZnUy/v0T2wFX3scC7U3/CVps99ul3+kBLuh6KkSP/+Su7KHPmzNEsCxEREZmXYqCeOy5iTERERGQgdt6JSkRERHT3FON03LHnjoiIiMhI2HNHREREpqcYqOuOxR0RERGZnmKc2o7DskRERERGwp47IiIiMj3FQF137LkjIiIiMhD23BEREZHpKcbpuDNmcfdLfLLeEaTTp0l1vSNI5dvQRyADvlblbRNefoyI7JUhizsiIiKi0nBwME7XHefcERERERkIe+6IiIjI9BTjdNyxuCMiIiJSDFTdcViWiIiIyEDYc0dERESmpxin4449d0RERERGwp47IiIiMj3FQF137LkjIiIiMhD23BEREZHpKQbquWNxV8D+ryNw6sBupF6IRwVnZ/j4NUbHAcPh6VNH8ywx0Qfx1frViDt+DKkpSZg06y207fiwphnYHvLm4LGRtz3yRKz9DCtXLEdS0iXc7x+AadND0TQoiDmYQ6ocsmWh8sFh2QISYqMR1PVxDJzxLoInhiM3Jweb35mOG1mZmmfJysyAb/2GGD52KvTC9pA3B4+NvO0hbPtmK96aF44Ro8cgYv0m+PsHYNSI4UhO1va6uczBHPaURW+KYrsNZi/uLBaLbs8dPGEOGnfqCa9avqhWtwG6Pz8RV5ITkXjmhOZZWrTtiEHDRqNtpy7QC9tD3hw8NvK2h7B65Qr0HzAQwf2eRAM/P8yYGQZXV1ds3riBOZhDmhyyZZFhWFax0QazF3cuLi44duwYZJCdcU396OpeSe8oUmB7yIvHRp72uJGdjWMxR9GufYf8fQ4ODmjXrgOiow4xB3NIkUO2LGSQOXcTJkwocn9OTg7mzp0LLy8v9fY777xT7ONkZWWpW0E3srPg5OxyV/ksubnY9fkS+PgFwqu2L8yO7SEvHhu52iP1cqr6Ppb3HpZH3I6LO80czCFFDtmyyEAxzvkU+hV37777Lpo1a4YqVarcMiwreu7c3d1L1JUZHh6OsLAwq329h43Do8P/c1f5dq5ZiOSEsxgQ8vZdPY5RsD3kxWNjje1BRGanW3E3Z84cfPTRR3j77bfRtWvX/P1OTk749NNP0bhx4xI9TkhIyC29gJ8cuHDX/zjERUXiyWlvo1LVajA7toe8eGzkaw/PKp5wdHS8ZUK6uO3t7c0czCFFDtmyyEAxUNedbnPupk2bhnXr1mHUqFGYNGkSbty4UeY5epUrV7bayjokK3oNxT8Opw7+iv5T5sGjWg2YGdtDXjw28raHk7MzGjUOROTePfn7cnNzERm5B0HNWjAHc0iRQ7YsZKB17tq0aYMDBw5gzJgxaN26NT777DNdK2fxj0Ps3h147OVZcHJ1w7W0FHW/i5s7KtzlHL7Sysy4josJ8fm3Ey8m4MzJWFSs7AHv6tr8w8X2kDcHj4287SE8O3QYQqdPRWBgEzRpGoQ1q1ciIyMDwf36MwdzSJNDtix6U4zTcaf/IsYVK1bEypUrERERge7du6uTO/VyZMcW9ePGNydb7RfLKohlFrR06ngMwiaNzL+9askC9WPnHo9hzJRZmmRge8ibg8dG3vYQevXug9SUFCxa+L66MKx/QCMsWroMXhoPdTEHc9hTFio/ikXPheUK+fPPP9WePFHkiRMqyurD3Wcgg051rM9A0tMv8XIsSClTm8hAluMi07GRpU2GP8Azj4lKw1X37qK70+aNnTZ77P2vaHvVHqkORe3atdWNiIiIiAxQ3BERERHpQeGcOyIiIiLjUAxU3Ul3+TEiIiIiKjv23BEREZHpKcbpuGPPHREREZGRsOeOiIiITE8xUNcde+6IiIiIDIQ9d0RERGR6inE67thzR0RERGQkhuy5k+WyQbHnr+gdQTr+NSvpHUEqMrWHLK9XWX5/ZSHLcZHptUpkC4qBuu4MWdwRERERlYaBajsOyxIREREZCXvuiIiIyPQUA3XdseeOiIiIyEDYc0dERESmp7DnjoiIiIhkxJ47IiIiMj3FOB137LkjIiIiMhL23BEREZHpKQbqumNxR0RERKanGKe247BsUSLWfobePbqiTYumGDzoKRyJjtY8Q0z0QcwNHY8RT/fCwB6tsW/3Ts0z7P86AhGzx2LxqGB8PG4gtnwwC6kX4mH2Y8Mc8r1WZWoPWbLIdFxkaA/msI8sVD5Y3BWy7ZuteGteOEaMHoOI9Zvg7x+AUSOGIzk5WdMcWZkZ8K3fEMPHToVeEmKjEdT1cQyc8S6CJ4YjNycHm9+ZjhtZmaY+Nswh32tVpvaQJYssx0WW9mAO+bPIMCyr2GjTGou7QlavXIH+AwYiuN+TaODnhxkzw+Dq6orNGzdomqNF244YNGw02nbqAr0ET5iDxp16wquWL6rVbYDuz0/EleREJJ45YepjwxzyvVZlag9ZsshyXGRpD+aQPwuVHxZ3BdzIzsaxmKNo175D/j4HBwe0a9cB0VGHYHbZGdfUj67ulUx7bJhDTjK1h0xZZCBLezCH3FlkoCi220x9QsW1a9fwxRdf4OTJk/Dx8cEzzzwDLy+vYr8nKytL3QqyOLrAxcWl1M+fejkVOTk5tzynuB0XdxpmZsnNxa7Pl8DHLxBetX01f35Zjg1zyEmm9pApiwxkaQ/mkDsLGajnrnHjxkhJSVE/j4+PR5MmTTB+/Hh8//33mDlzpnp/XFxcsY8RHh4ODw8Pq23+m+Ea/QTmsXPNQiQnnEWvkSF6RyEiIip3Dopis03znwU6+uOPP3Dz5k3185CQENSsWRNnz57Fvn371I9BQUF45ZVXin0M8X1paWlW2+SpZStAPKt4wtHR8ZaJpOK2t7c3zFzYxUVFov+UeahUtZouGWQ5NswhJ5naQ6YsMpClPZhD7ixk0Dl3e/bswaxZs9SeN6FixYoICwvDL7/8Uuz3ieHXypUrW21lGZIVnJyd0ahxICL37snfl5ubi8jIPQhq1gJmY7FY1MLu1MFf1cLOo1oN3bLIcmyYQ04ytYdMWWQgS3swh9xZZKBwzl35yTtFODMzU51nV1CtWrVw6dIlTfM8O3QYQqdPRWBgEzRpGoQ1q1ciIyMDwf36a5ojM+M6Lib8s6Zc4sUEnDkZi4qVPeBdXZsiSxR2sXt34LGXZ8HJ1Q3X0v4eQndxc0cF57IV0EY4Nswh32tVpvaQJYssx0WW9mAO+bPoTTHQKsa6F3fdunVDhQoVkJ6ejtjYWHXeXR4xNHunEyrKW6/efZCakoJFC99HUtIl+Ac0wqKly+ClcRf1qeMxCJs0Mv/2qiUL1I+dezyGMVNmaZLhyI4t6seNb0622i+WRBFLpGhNlmPDHPK9VmVqD1myyHJcZGkP5pA/C5UfxSLG3nQihl0LateuHR555JH825MnT8aff/6Jzz//vFSPm/n3ND7dxZ6/Aln8Ei/HgpTDH9D+TFuyr9erf03tl9qRGY8L2QtX3buL7k7vxZE2e+xvRj0ALel6KMQZscWZP3++ZlmIiIiI9LZ48WJ1O3PmjHo7MDAQr776Knr37l3ix7DzOpuIiIjIOHPuateujblz56Jhw4bqiY0rV65E3759cejQIbXQKwkWd0RERESSePzxx61uv/HGG2pP3t69e1ncEREREZWULTvuirqalli27U5Lt4kriKxfv169glf79u3tb507IiIiIiMKL+JqWmLf7Rw5ckRd71cUfyNHjsSmTZvUq3aVFHvuiIiIyPQU2K7rTlxNa8KECVb7iuu18/f3x+HDh9Wrbn355ZcYOnQofvrppxIXeCzuiIiIyPQcbDgsW5Ih2IKcnZ3h5+enft6qVSvs378f7733HpYuXVqi7+ewLBEREZHExGXhCs/ZKw577oiIiMj0FEmWQhFDuGJNu7p16+LKlStYu3Ytdu7ciW+//bbEj8HijoiIiEgSiYmJGDJkCC5cuKCeeBEUFKQWdj169CjxY7C4M8nlemTKQnKS5RJ1spDld0aWHERGp8jRcYfly5ff9WNwzh0RERGRgbDnjoiIiEzPQZauu3LAnjsiIiIiA2HPHREREZmeYpyOOxZ3RERERIqBqjsOyxIREREZCHvuiIiIyPQU43TcseeOiIiIyEjYc0dERESm52Cgrjv23BUhYu1n6N2jK9q0aIrBg57Ckeho5pAgh0xZmONv+7+OQMTssVg8KhgfjxuILR/MQuqFeOghJvog5oaOx4ine2Fgj9bYt3sn9KT3sWEO5rDHLFQ+WNwVsu2brXhrXjhGjB6DiPWb4O8fgFEjhiM5WdtLMzGHvFmY4x8JsdEI6vo4Bs54F8ETw5Gbk4PN70zHjaxMaC0rMwO+9Rti+Nip0JsMx4Y5mMPesuhNseGmNRZ3haxeuQL9BwxEcL8n0cDPDzNmhsHV1RWbN25gDh1zyJSFOf4RPGEOGnfqCa9avqhWtwG6Pz8RV5ITkXjmBLTWom1HDBo2Gm07dYHeZDg2zMEc9paFyg+LuwJuZGfjWMxRtGvfIX+fg4MD2rXrgOioQ8yhUw6ZsjBH8bIzrqkfXd3Ne7F7WY4NczCHPWWRZZ07xUab1ljcFZB6ORU5OTnw8vKy2i9uJyUlMYdOOWTKwhy3Z8nNxa7Pl8DHLxBetX1hVrIcG+ZgDnvKIgMHxXab5j8LdHTw4EHExcXl3169ejU6duyIOnXqoFOnToiIiLjjY2RlZSE9Pd1qE/uISFs71yxEcsJZ9BoZoncUIiJT07W4GzZsGE6dOqV+vmzZMowYMQKtW7fGK6+8gjZt2uDFF1/EJ598UuxjhIeHw8PDw2qb/2Z4mfJ4VvGEo6PjLRNJxW1vb+8yPSZzGCsLc9y+sIuLikT/KfNQqWo1mJksx4Y5mMOesshA4bBs+Thx4gQaNmyofr5o0SK899576jZy5EgsWLAAS5cuxdtvv13sY4SEhCAtLc1qmzy1bD0HTs7OaNQ4EJF79+Tvy83NRWTkHgQ1a1Gmx2QOY2VhDmsWi0Ut7E4d/FUt7Dyq1YDZyXJsmIM57CkLGWgR43vuuUcd169Xrx4SEhLQtm1bq/sfeOABq2Hbori4uKhbQZk3y57p2aHDEDp9KgIDm6BJ0yCsWb0SGRkZCO7Xv+wPyhyGysIc/xCFXezeHXjs5VlwcnXDtbQUdb+LmzsqOFv/XtpaZsZ1XEz4Z429xIsJOHMyFhUre8C7eg3THRvmYA57y6I3xThrGOtb3PXu3RuLFy9Wh2Q7d+6ML7/8Es2aNcu//4svvoCfn5+mmXr17oPUlBQsWvg+kpIuwT+gERYtXQYvjbuomUPeLMzxjyM7tqgfN7452Wq/WBJFLJGipVPHYxA2aWT+7VVLFqgfO/d4DGOmzDLdsWEO5rC3LFR+FIsYV9HJ+fPn1RMo6tatq861E4Veq1at0KhRI8TGxmLv3r3YtGkT+vTpU6rHvZueOyKzWh55BjLoVMf6zD29+Nc073IuRGXhaucXNB2y1nZX5lj1ryCYZs5dzZo1cejQIbRv3x7btm1T5+/s27cP3333HWrXro3du3eXurAjIiIiMjPd6+wqVapg7ty56kZERESkBwfOuSMiIiIyDsVAZ1TwChVEREREBsKeOyIiIjI9BcbBnjsiIiIisxd3P//8M/7973+rZ7mKxYfzrgv7yy+/lHc+IiIiIptzUBSbbZr/LKX9hg0bNuCRRx6Bm5ubuoxJVlaWul9c9mvOnDm2yEhEREREtiruXn/9dSxZsgQff/wxnJyc8veLxYgPHjxY2ocjIiIi0p2i2G6TvrgTV4546KGHbtnv4eGBy5cvl1cuIiIiItKiuKtRowZOnjx5y34x365+/fplyUBERESk+zp3io026ZdCefHFFzFu3Dh88sknamBxfdg9e/Zg0qRJCA0NtU1KumtPLt8HGWwY3hYyiD1/Re8IdBu/xCfrHYGKwGvtyns95uEP+OodgSRT6uJu2rRpyM3NRbdu3XD9+nV1iNbFxUUt7saOHWublEREREQ2pCgmLu5Eb90rr7yCyZMnq8OzV69eRePGjVGxYkXbJCQiIiKyMQcDVXdlvkKFs7OzWtQRERERkR0Xd126dCl2cuCPP/54t5mIiIiINKUoJi7umjdvbnX7xo0bOHz4MH7//XcMHTq0PLMRERERka2LuwULFhS5f9asWer8OyIiIiJ7oxio665M15YtirjWrFgehYiIiIjs8ISKwsRad66uruX1cERERET219tlj8Vd//79rW5bLBZcuHABv/32GxcxJiIiIrK34k5cQ7YgBwcH+Pv7Y/bs2ejZsyeMIGLtZ1i5YjmSki7hfv8ATJseiqZBQabL0adxdXW7t5KLevtsagY+P5CAA/Fp0IvebRITfRBfrV+NuOPHkJqShEmz3kLbjg9r9vyyZdn/dQROHdiN1AvxqODsDB+/xug4YDg8feqYMocsx0WmHLL87sqSQ6bXqixtIgvFrHPucnJyMGzYMLzzzjtYsWKFui1fvhxz5841TGG37ZuteGteOEaMHoOI9Zvg7x+AUSOGIzk52XQ5kq5l49PIeIzb8DvGbTyK6IR0hD7SEHU93aAHGdokKzMDvvUbYvjYqZo9p8xZEmKjEdT1cQyc8S6CJ4YjNycHm9+ZjhtZmabMIctxkSmHLL+7suSQ6bUqS5vIwkGx3ab5z1KaL3Z0dFSLuMuXL8OoVq9cgf4DBiK435No4OeHGTPD1LmEmzduMF2OfWcv47f4NJxPz8L5tEys2v8nMm/kIqC6O/QgQ5u0aNsRg4aNRttOXTR7TpmzBE+Yg8adesKrli+q1W2A7s9PxJXkRCSeOWHKHLIcF5lyyPK7K0sOmV6rsrQJSTB/sEmTJjh9+jSM6EZ2No7FHEW79h2shp3bteuA6KhDpstRkPjL46EGVeHq5IBjf2m/5I2MbUK3ys64pn50ddf3IvOy5CB5fndlySHTa1XWNtGLg4F67ko95+7111/HpEmT8Nprr6FVq1Zwd7fuxalcuTLsVerlVHXo2cvLy2q/uB0Xd9p0OYR6Vd3wdnBjODs6IONGDl7/9gTiL2s/fCBTm1DRLLm52PX5Evj4BcKrtq/pc5Bcv7uy5JDptSpjm5DGPXfihIlr166hT58+iIqKwhNPPIHatWvD09NT3apUqaJ+LI2xY8fi559/xt3IyspCenq61Sb2UflIuJyJsV/+jgmbjmJrTCImdKmPOlW45A3daueahUhOOIteI0OYg6gE+FqV74QKxUabtD13YWFhGDlyJHbs2FFuT/7hhx9i0aJFaNCgAYYPH65evqxGjRqleozw8HA1W0GvhM7EjFdnlTqPZxVPdV5h4Ymk4ra3tze0IksO4WauBRfS/y6WTyZdx/3V3NG3aQ0s/PmMpjlkahMq+h+puKhIPDntbVSqWs30OUi+311Zcsj0WpWtTUiHnjuxnp3QuXPnYrfS+u6779TewLfeegt169ZF3759sWXLFuTm5pbo+0NCQpCWlma1TZ5atr+CnJyd0ahxICL37snfJ3JERu5BULMWZXpMe85RFPEXiJOj9n+FyNwmZibeF8Q/UqcO/or+U+bBo1oNU+cgeX93Zckh02tVljaRhYNZ59zZomuxadOm6NatG+bPn49NmzaplzALDg7Gvffei+eee05desXPz++23+/i4qJuBWXeLHueZ4cOQ+j0qQgMbIImTYOwZvVKZGRkILif9eLNtiZDjqFta6tny166kgU3Z0c87OeFpjUrIfTr89CDDG2SmXEdFxPi828nXkzAmZOxqFjZA97VtX2TliGL+Ecqdu8OPPbyLDi5uuFaWoq638XNHRWcrX8vzZBDluMiUw5ZfndlySHTa1WWNqHyp1jyuuTuQJxBIxYwvlOBl5Ly9wu1pI958eJFVK9e3Wr/uXPn1CLv008/RXx8vDrhszTuprgTPv9sTf6Cjv4BjTB1+gwEBTW7uwfVOceTy/eV+nvGdb4PzWpVRtV7nHAtOwdnkq9j/eELOJyQjrLaMLwtZGiT2PNXyvT8R6N+Q9ikkbfs79zjMYyZUvqpAHejvLP8El/6da3ef/6RIveL5R3Ecg9asUWOTnWsJ5nb22ukvHP417y7szmN+L66PPKMFK/V4Q/4StEmruV2QVN9TPk61maPPe9Rf0hb3L377ru3XKGiMDFv7m6Luzwi2vbt29GjRw9oWdwZUVmKO1u42+KuvJS1uDOyshR3RlbW4s6o7ra4M6KyFHe2cLfFXXmx9+Ju2tbjNnvsuX3uh5ZKdSgGDRp020KsLOrVq6dO5rwd0UtY2sKOiIiIyMwq6DnfLi4urtwfk4iIiMjmV3Uw0tmyRERERGSAnruSLk1CREREZG8UHZYssRUj9UISERERmZ6dn9tCREREdPccDNR1x547IiIiIgNhzx0RERGZnmKcjjsWd0REREQOBiruOCxLREREZCDsuSMiIiLTczDQuCyLO5OQ5ZqusuB1Mm/FNiEiMgYWd0RERGR6inE67jjnjoiIiMhI2HNHREREpufAnjsiIiIikhF77oiIiMj0FBin647FHREREZmeg3FqOw7LEhERERkJe+6IiIjI9BzYc0dEREREMmJxV4SItZ+hd4+uaNOiKQYPegpHoqOZQ4IcMmVhDuawlyzMIVeO/V9HIGL2WCweFYyPxw3Elg9mIfVCPPSkd5vIQlEUm21aY3FXyLZvtuKteeEYMXoMItZvgr9/AEaNGI7k5GTm0DGHTFmYgznsJQtzyJcjITYaQV0fx8AZ7yJ4Yjhyc3Kw+Z3puJGVCT3I0CZU/ljcFbJ65Qr0HzAQwf2eRAM/P8yYGQZXV1ds3riBOXTMIVMW5mAOe8nCHPLlCJ4wB4079YRXLV9Uq9sA3Z+fiCvJiUg8cwJ6kKFNZJpz52CjTfOfRfunlNeN7GwcizmKdu075O9zcHBAu3YdEB11iDl0yiFTFuZgDnvJwhxy5igsO+Oa+tHVvZLmzy1rm9DdY3FXQOrlVOTk5MDLy8tqv7idlJTEHDrlkCkLczCHvWRhDjlzFGTJzcWuz5fAxy8QXrV9NX9+GdtET4piu810xd3ChQsxZMgQREREqLdXr16Nxo0bIyAgANOnT8fNmzeL/f6srCykp6dbbWIfERGRzHauWYjkhLPoNTJE7ygEMXyq2GzT/GeBjl5//XW1gLt+/TrGjx+PN998U/04ePBgDB06FMuWLcNrr71W7GOEh4fDw8PDapv/ZniZ8nhW8YSjo+MtE0nFbW9v7zI9JnMYKwtzMIe9ZGEOOXMULOzioiLRf8o8VKpaDXqQrU3IIMXdp59+qm5ffvkltm3bhldeeQXvvfee+jEkJARLly7F2rVri30M8XVpaWlW2+SpZfsryMnZGY0aByJy7578fbm5uYiM3IOgZi3K9JjMYawszMEc9pKFOeTMYbFY1MLu1MFf1cLOo1oN6EWWNpGFg4FOqND1ChXnz59H69at1c+bNWumTuRs3rx5/v0tW7ZUv6Y4Li4u6lZQZvEjucV6dugwhE6fisDAJmjSNAhrVq9ERkYGgvv1L/uDMoehsjAHc9hLFuaQL4co7GL37sBjL8+Ck6sbrqWlqPtd3NxRwdn63zKztAndOiK5ceNG/PHHH3Bzc0OHDh3UkU1/f3/YRXFXo0YNxMTEoG7dujhx4oQ6sVPcDgwMVO8/evQoqlevrmmmXr37IDUlBYsWvo+kpEvwD2iERUuXwUvjLmrmkDcLczCHvWRhDvlyHNmxRf248c3JVvvFkihiiRStydAmslAkufzYTz/9hDFjxqBNmzbqeQdi+lrPnj3V+sjd3b1Ej6FYRB+xTkJDQ9Wh1759++KHH37A008/rQ7DiqFWsaLzG2+8gQEDBuCdd94p1ePeTc8dERFRSSyPPAMZDH9A+zNti+Jq51er/2B3nM0ee2zH+8r8vZcuXVI7ukTR99BDD5Xoe3Q9FGFhYWqX4549e/Diiy9i2rRp6vDslClT1JMsHn/88TueUEFERER0txxgu647sYpH4ZU8ippWVhRxLoFQtWrVEj+frj13tsKeOyIisjX23Bmr5+7D3bY7npe+/1Tt0Cpo5syZmDVrVrHfJ05weeKJJ3D58mX88ssvJX4+Oz8URERERHLPuQsJCcGECROs9pWk107Mvfv9999LVdgJLO6IiIjI9BxsWNyVdAi2oJdeeglbtmzBrl27ULt27VJ9L4s7IiIiIkmI2XJjx47Fpk2bsHPnTtx3X+lPxmBxR0RERKbnIMlaKGIoVqwc8t///heVKlXCxYsX1f3iClziJFS7uLYsEREREf1t8eLF6hmyDz/8MHx8fPK3devWoaTYc0dERESmpyjyDMveLfbcERERERkIe+6IiIjI9Bxk6borByzuTCL2/BW9I0jFv2YlyECm4yJLmxDZC1kWDyYqjMUdERERmZ5inI47FndEREREDjAOI/0sRERERKbHnjsiIiIyPcVA47LsuSMiIiIyEPbcERERkekpMA723BEREREZCHvuiIiIyPQcOOeOiIiIiGTEnjsiIiIyPQXGwZ67IkSs/Qy9e3RFmxZNMXjQUzgSHW3aHDHRBzE3dDxGPN0LA3u0xr7dOzXPIFOOPDw28rWHTDlkysIczGFPWfSkKLbbtMbirpBt32zFW/PCMWL0GESs3wR//wCMGjEcycnJpsyRlZkB3/oNMXzsVE2fV9YcAo+NnO0hSw6ZsjAHc9hTFio/LO4KWb1yBfoPGIjgfk+igZ8fZswMg6urKzZv3GDKHC3adsSgYaPRtlMXTZ9X1hwCj42c7SFLDpmyMAdz2FMWGRYxVmy0maq4u3DhAl599VV07doVjRo1QmBgIB5//HEsX74cOTk5mue5kZ2NYzFH0a59h/x9Dg4OaNeuA6KjDpkuB92Kx0bO9pAlh0xZmIM57CkLGaS4++2339SCbuvWrbhx4wZOnDiBVq1awd3dHZMmTcJDDz2EK1eu3PFxsrKykJ6ebrWJfWWRejlVLSq9vLys9ovbSUlJZXpMe85Bt+KxkbM9ZMkhUxbmYA57yiJLQeRgo02Pn0UX//nPfzB+/Hi1yPv555/x6aef4vjx44iIiMDp06dx/fp1zJgx446PEx4eDg8PD6tt/pvhmvwMRERERLLRrbg7ePAgnn322fzb//rXv9R9f/31Fzw9PTFv3jx8+eWXd3yckJAQpKWlWW2Tp4aUKZNnFU84OjreMpFU3Pb29i7TY9pzDroVj42c7SFLDpmyMAdz2FMWGSicc3f3qlevrs65yyOKups3b6Jy5crq7YYNGyIlJeWOj+Pi4qJ+T8FN7CsLJ2dnNGociMi9e/L35ebmIjJyD4KatSjTY9pzDroVj42c7SFLDpmyMAdz2FMWMsgixsHBwRg5ciTmz5+vFmOvvfYaOnfuDDc3N/X+2NhY1KpVS/Nczw4dhtDpUxEY2ARNmgZhzeqVyMjIQHC//qbMkZlxHRcT4vNvJ15MwJmTsahY2QPe1WuYLofAYyNne8iSQ6YszMEc9pRFbwqMQ7fi7vXXX1d77sTZsWJCZ/v27bFmzZr8+0U3pphPp7VevfsgNSUFixa+j6SkS/APaIRFS5fBS+MuallynDoeg7BJI/Nvr1qyQP3YucdjGDNllulyCDw2craHLDlkysIczGFPWaj8KBaLxQIdZWZmqsOxFStWLL/HvFluD2UYsefvfOaxmfjXrAQZyHRcZGkTIrJPrnZ+QdMvo/6ZKlbeBjTzgZZ0PxRisUQiIiIiPTnAOIz0sxARERGZnu49d0RERER6U3RYssRW2HNHREREZCDsuSMiIiLTU2Ac7LkjIiIiMhD23BEREZHpKQbqumPPHREREZGBsOeOiIiITM/BQLPuWNwRERGR6SnGqe1Y3JmFLJeWkulyWyQnWV4j/J2Rsz1I3tdIs7p8jciCxR0RERGZnmKgYVmeUEFERERkIOy5IyIiItNTjNNxx547IiIiIiNhzx0RERGZngPn3BERERGRjNhzR0RERKanGKfjjsUdERERkWKg4o7DskREREQGwp47IiIiMj2FJ1QYW8Taz9C7R1e0adEUgwc9hSPR0cyhc46Y6IOYGzoeI57uhYE9WmPf7p3QE9vEGttDvjZhezCHvb1GyEDFXXZ2Nr744guMHz8ezzzzjLqJz9evX6/ep7Vt32zFW/PCMWL0GESs3wR//wCMGjEcycnJzKFjjqzMDPjWb4jhY6dCb2wTa2wPOduE7cEc9vQakYGDYrtN858FOjp58iQaNWqEoUOH4tChQ8jNzVU38fmQIUMQGBiofo2WVq9cgf4DBiK435No4OeHGTPD4Orqis0bNzCHjjlatO2IQcNGo22nLtAb28Qa20PONmF7MIc9vUbIQMXdqFGj0LRpU/z111/YuXMn1q1bp27ic7FPFHdjxozRLM+N7GwcizmKdu075O9zcHBAu3YdEB11iDl0yiETtok1tset2CZytgdzUEnm3NnqP1OdULF7927s27cPlStXvuU+se+1117DAw88UOxjZGVlqVtBFkcXuLi4lDpP6uVU5OTkwMvLy2q/uB0XdxpaYQ55sU2ssT1uxTaRsz2Yg8xE1567KlWq4MyZM7e9X9wnvqY44eHh8PDwsNrmvxlug7RERERk5HXuFBttpuq5e+GFF9S5daGhoejWrRvuvfdedb8Ykv3hhx/w+uuvY+zYscU+RkhICCZMmHBLz11ZeFbxhKOj4y2TWsVtb2/vMj0mcxgL28Qa2+NWbBM524M56E64FEo5mT17NqZOnYr58+ejefPmqFmzprqJz8U+cd+sWbOKfQwx/CqGcAtuZRmSFZycndGocSAi9+7J3ydO8IiM3IOgZi3K9JjMYSxsE2tsj1uxTeRsD+YgM9F9EWNRwIktLi4OFy9eVPfVqFED9913ny55nh06DKHTpyIwsAmaNA3CmtUrkZGRgeB+/ZlDxxyZGddxMSE+/3bixQScORmLipU94F29hqZZ2CbW2B5ytgnbgzns6TUiAwfjdNzpX9zlEcVc4YIuPj4eM2fOxCeffKJZjl69+yA1JQWLFr6PpKRL8A9ohEVLl8FL4+5y5rB26ngMwiaNzL+9askC9WPnHo9hzJTie3fLG9vEGttDzjZhezCHPb1GqHwpFovFAklFRUWhZcuW6plFpZF502aR6C7Fnr8CGfjXrAQZyNIeAtvEGttDzvYgeV8jzera92vk5+OpNnvsB+/3hGl67r766qti7z99mqeFExEREdlNcRccHAxFUVBc56G4n4iIiMiWFAOVG7qeLevj44ONGzfmX3as8Hbw4EE94xERERHZHV2Lu1atWuHAgQO3vf9OvXpERERE5UGx4WaqYdnJkyfj2rVrt73fz88PO3bs0DQTERERmY+DgcZldS3uHnzwwWLvd3d3R+fOnTXLQ0RERGTvpFnnjoiIiEgvCoxD1zl3RERERFS+2HNHREREpMAw2HNHREREZCBSX36srGS5/Jgsl4QReOkgOY8NjwsRGYWrnY8FRp5Ks9ljP9DAA1pizx0RERGRgdh5nU1ERER09xQDzbljcUdERESmp8A4OCxLREREZCDsuSMiIiJSYBjsuSMiIiIyEPbcERERkekpBuq6Y88dERERkYGw546IiIhMTzFOxx177oiIiIiMhMVdESLWfobePbqiTYumGDzoKRyJjtY8Q0z0QcwNHY8RT/fCwB6tsW/3Tpi5PWTJItNxkaE9mEP+LMzBHPaURU+KDTetSV3c/fXXX5g9e7amz7ntm614a144Roweg4j1m+DvH4BRI4YjOTlZ0xxZmRnwrd8Qw8dOhZ5kaQ9ZsshyXGRpD+aQOwtzMIc9ZdGdYpzqTuri7uLFiwgLC9P0OVevXIH+AwYiuN+TaODnhxkzw+Dq6orNGzdomqNF244YNGw02nbqAj3J0h6yZJHluMjSHswhdxbmYA57ykIGKe6io6OL3WJjYzXNcyM7G8dijqJd+w75+xwcHNCuXQdERx2C2cjUHjJlkYEs7cEc8mZhDuawpyyyLIWi2Og/U50t27x5cyiKAovFcst9efvFx+JkZWWpW0EWRxe4uLiUOk/q5VTk5OTAy8vLar+4HRd3GmYjU3vIlEUGsrQHc8ibhTmYw56ykLVdu3Zh/vz5OHDgAC5cuIBNmzYhODgYdtFzV7VqVXz88ceIi4u7ZTt9+jS2bNlyx8cIDw+Hh4eH1Tb/zXBN8hMREZExKIrtttK6du0amjVrhg8//ND+eu5atWqF8+fPo169ekXef/ny5SJ79QoKCQnBhAkTbum5KwvPKp5wdHS8ZSKpuO3t7Q2zkak9ZMoiA1nagznkzcIczGFPWcha79691a2sdO25GzlyJHx9fW97f926dbFixYpiH0MMv1auXNlqK8uQrODk7IxGjQMRuXdP/r7c3FxERu5BULMWMBuZ2kOmLDKQpT2YQ94szMEc9pTF6CfLZmVlIT093WorPKWsPOnac9evX79i7/f09MTQoUOhpWeHDkPo9KkIDGyCJk2DsGb1SmRkZCC4X39Nc2RmXMfFhPj824kXE3DmZCwqVvaAd/UapmsPWbLIclxkaQ/mkDsLczCHPWUxsvDw8FtW/5g5cyZmzZplvsuPxcfHqz/8J598otlz9urdB6kpKVi08H0kJV2Cf0AjLFq6DF4ad1GfOh6DsEkj82+vWrJA/di5x2MYM8U2LwaZ20OWLLIcF1nagznkzsIczGFPWXSn2O6hi5pCVtZRxpJQLHea1KajqKgotGzZUj2bpzQyb0IKseevQBb+NSvpHUEqshwbHhciMgpXqbuL7iw6/ipsJahOxTJ/r1g1pLRny+p6KL766qti7xdnzBIRERER7KO4E1Xo7da5y3Onde6IiIiI7pYiUblx9epVnDx5Mv+2WCLu8OHD6hJy4mRTqc+W9fHxwcaNG9Wzc4raDh48qGc8IiIiIs399ttvaNGihboJYr6e+PzVV1+1j3XuxOrLffv2LfL+O/XqEREREZUHBfJ4+OGH76r+0bW4mzx5sroK8+34+flhx44dmmYiIiIisme6FncPPvhgsfe7u7ujc+fOmuUhIiIik1JgGLrOuSMiIiKi8mXnq9IQERER3T3FQF137LkjIiIiMhD23BEREZHpKcbpuDNmccdLS9Gd8NgQ0d3ybPMSZJC6f6HeEQxBgXFwWJaIiIjIQAzZc0dERERk1q479twRERERGQh77oiIiMj0FAN13bHnjoiIiMhA2HNHREREpqcYp+OOPXdERERERsKeOyIiIjI9BcbB4o6IiIhIgWFwWJaIiIjIQKQo7v78809cvXr1lv03btzArl27NM0SE30Qc0PHY8TTvTCwR2vs270TeolY+xl69+iKNi2aYvCgp3AkOtrUOWTKwhzMYS9ZmEO+HK+M6IOMQwuttsMbZ0AvMrSJLEuhKDb6z1TF3YULF9C2bVvUq1cPVapUwZAhQ6yKvJSUFHTp0kXTTFmZGfCt3xDDx06FnrZ9sxVvzQvHiNFjELF+E/z9AzBqxHAkJyebModMWZiDOewlC3PImUM4evI8fLuH5G/dnl8APcjUJmSQ4m7atGlwcHBAZGQktm3bhpiYGLWYS01Nzf8ai8WiaaYWbTti0LDRaNtJ26KysNUrV6D/gIEI7vckGvj5YcbMMLi6umLzxg2mzCFTFuZgDnvJwhxy5hBu5uTir+Qr+Vvy5WvQg0xtIsNSKIqNNlMVd9u3b8f777+P1q1bo3v37ti9ezd8fHzQtWtXtddOUIy08EwJ3cjOxrGYo2jXvkP+PlEEt2vXAdFRh0yXQ6YszMEc9pKFOeTMkcevbjWc/u4NxPxvFla8MRR1anhqnkG2NiGDFHdpaWnw9PznBe3i4oKNGzfC19dX7cFLTEy842NkZWUhPT3dasvOyoI9S72cipycHHh5eVntF7eTkpJMl0OmLMzBHPaShTnkzCHs//0M/u/VNXhizId4ec46+NbywvZPxqPiPS6a5pCpTWSg2HAzVXFXv359RBeauFmhQgWsX79eve+xxx6742OEh4fDw8PDalu+6G0bpiYiIiq773bHYOP2Q/j9xHls33MMwS8thkdFNzzZs6Xe0cggdC3uevfujY8++uiW/XkFXvPmze845y4kJETtASy4DR89EfbMs4onHB0db5nQKm57e3ubLodMWZiDOewlC3PImaMoaVczcPJcIhrUqabp88rcJrpQjNN1p2tx98Ybb6hFXFFEgbdhwwbExcUV+xhiKLdy5cpWm7OLtl3b5c3J2RmNGgcicu+e/H25ubmIjNyDoGYtTJdDpizMwRz2koU55MxRFHc3Z9xX2xsXk9I0fV6Z20QPioGWQtH1ChWigBPFWHFLpYSFheGTTz7RLFNmxnVcTIjPv514MQFnTsaiYmUPeFevoVmOZ4cOQ+j0qQgMbIImTYOwZvVKZGRkILhff80yyJRDpizMwRz2koU55MwRPr4fvt51BOfOp6BmdQ/MGPkocnJz8cW2A9CaLG1CJrr8mDhjduXKlZoWd6eOxyBs0sj826uW/L32UOcej2HMlFma5ejVuw9SU1KwaOH7SEq6BP+ARli0dBm8NO4qlyWHTFmYgznsJQtzyJmj1r1VsCp8GKp63IOk1Kv49fBpdB7ytvq51mRpExkoBlqcQ7FovZBcAV999VWx958+fRoTJ05Uz+YpjahzVyAD/5qV9I5AREQ24tnmJcggdf9CyMBV6u6iO4tLyoSt3OftCi3peiiCg4PVdeyKqy/NuM4dERERaUuBceh6QoVYsFisaycmcBa1HTx4UM94RERERHZH1+KuVatWOHDg9hNI79SrR0RERFQuFOMshaLrsOzkyZNx7drtr6fn5+eHHTt2aJqJiIiIyJ7pWtw9+OCDxd7v7u6Ozp07a5aHiIiIzEkx0Kw7Oz+3hYiIiOjuKcap7fSdc0dERERE5Ys9d0RERGR6CoyDPXdEREREBsKeOyIiIjI9xUBdd7pefsxWMm/qnYBuJ/Y8Lw0nY3vIRJZjQ9b4Wr0VX6vGuvzYn6lZNnvs2p4u0JKdHwoiIiKi8qDAKDjnjoiIiMhA2HNHREREpqcYp+OOxR0RERGRAuPgsCwRERGRgbDnjoiIiExPMVDXHXvuiIiIiAyEPXdERERkeoqBZt2x546IiIjIQFjcFSFi7Wfo3aMr2rRoisGDnsKR6Gjm0DlHTPRBzA0djxFP98LAHq2xb/dO6IltIl8OWY6LbFlkyCHLa0SWHLIcFxmz6Eqx4Wa24i45ORk7duxASkqKejspKQlvvvkmZs+ejWPHjmmeZ9s3W/HWvHCMGD0GEes3wd8/AKNGDFdzMod+ObIyM+BbvyGGj50KvbFN5Mwhy3GRKYssOWR5jciSQ5bjIlsWMkhxt2/fPjRo0ADdunWDn58fDhw4gLZt22L58uVYtWoVWrVqhYMHD2qaafXKFeg/YCCC+z2JBn5+mDEzDK6urti8cQNz6JijRduOGDRsNNp26gK9sU3kzCHLcZEpiyw5ZHmNyJJDluMiWxa9KcbpuNO3uHvllVfw1FNPIS0tDdOnT0dwcLBa6B0/fhwnT57EoEGD8Nprr2mW50Z2No7FHEW79h3y9zk4OKBduw6IjjrEHDrlkAnbRE4yHRdZssiSg+Q9LjJlkWUpFMVGm6mKO9FTN2HCBFSqVAnjxo3D+fPn8eKLL+bf/9JLL2H//v2a5Um9nIqcnBx4eXlZ7Re3xXAxc+iTQyZsEznJdFxkySJLDpL3uMiUhQy0FEp2djbc3NzUz52cnHDPPffA29s7/37x+Z3G/bOystStIIujC1xcXGyUmoiIiIxG4VIo5aNOnTo4ffp0/u2IiAj4+Pjk375w4YJVsVeU8PBweHh4WG3z3wwvUx7PKp5wdHS8paAUt++Uozwxh7zYJnKS6bjIkkWWHCTvcZEpCxmouBNz6hITE/NvP/roo/k9ecJXX32lnmBRnJCQEHXOXsFt8tSQMuVxcnZGo8aBiNy7J39fbm4uIiP3IKhZizI9JnMYC9tETjIdF1myyJKD5D0uMmWRgmKcMyp0HZadOXPmHU+4EH9VFEcMvxYegs28WfZMzw4dhtDpUxEY2ARNmgZhzeqVyMjIQHC//mV/UOa4a5kZ13ExIT7/duLFBJw5GYuKlT3gXb2GplnYJnLmkOW4yJRFlhyyvEZkySHLcZEtC5nk8mOia1gUgJ988olmz9mrdx+kpqRg0cL3kZR0Cf4BjbBo6TJ4adxFzRzWTh2PQdikkfm3Vy1ZoH7s3OMxjJkyS9MsbBM5c8hyXGTKIksOWV4jsuSQ5bjIlkVvCoxDsVgsFkgqKioKLVu2VM/mKY276bkj24o9fwUy8K9ZCTKQpT1kIsuxIWt8rd6Kr1VrrlJ3F91Z0lXbFQ/eFbVtHF0PhZhTV5yCJ1sQERER2YpioK47XYs7sWixoigorvNQ3E9ERERkS4qBBmZ1PVtWLHuyceNG9eycojatLz1GREREZO90Le7EtWPFVSpu5069ekRERETlQTHQ5cd0HZadPHkyrl27dtv7/fz8sGPHDk0zEREREdkzXYu7Bx98sNj73d3d0blzZ83yEBEREdk7XYdliYiIiKh82fmqNERERER3TzHOybLsuSMiIiIyEvbcERERkekpBlrnjsUdERERmZ5inNpO7mvLEhEREWkhPTPXZo9d2VXbWXDsuSMiIiLTU2AcPKGCiIiIyEDYc0dERESkwDDYc0dERERkIOy5IyIiItNTDNR1x547IiIiIgNhzx0RERGZnmKcjjv23BEREREZCXvuiIiIyPQUGAeLOyIiIiIFhiHlsGz9+vVx4sQJvWMQERER2R1de+7ef//9IvefO3cOK1asQI0aNdTbL7/8ssbJiIiIyEwUybruPvzwQ8yfPx8XL15Es2bN8MEHH6Bt27Yl+l7FYrFYoBMHBwfUqlULFSpY15hnz55FzZo14eTkBEVRcPr0ab0iEhERkQlk3LDdY7s5le7r161bhyFDhmDJkiV44IEH8O6772L9+vWIjY1F9erV5S7uRo4cicjISKxduxaNGjXK3y+KuqioKDRu3FivaERERGQimTdt99iupRwnFQVdmzZtsHDhQvV2bm4u6tSpg7Fjx2LatGlyz7kTFemrr76KRx55JP8HKK2srCykp6dbbWIfERERkQxKU6tkZ2fjwIED6N69u9VIp7i9Z88e+zihol+/fmrYTZs2oXfv3urYcmmEh4fDw8PDahP77oZo8FmzZklRJMqShTmYw16yMAdz2EsW5pArh2sF222lqVWSkpKQk5ODe++912q/uF3SGknXYdmCRIy5c+eqJ1lcunQJ0dHRJRqWFS+Cwi8EFxcXdSsrUVGLhk9LS0PlypWhJ1myMAdz2EsW5mAOe8nCHHLmsIXS1Crnz59Xz0f49ddf0b59+/z9U6ZMwU8//aROZ7Obde7EiRMhISHo2bMnfvnlF/j4+JTo++62kCMiIiKypdLUKt7e3nB0dMRff/1ltV/czltFRPph2cJatWqFcePGwdPTE/Hx8Xj++ef1jkRERESkCWdnZ7UW+uGHH/L3iRMqxO2CPXl2VdwVlJKSgpUrV+odg4iIiEgzEyZMwMcff6zWQMeOHcOoUaNw7do1DBs2rETfr+uw7FdffVXs/Xqtbye6TmfOnCnFcK8sWZiDOewlC3Mwh71kYQ45c8jg6aefVs8/ECuKiJMomjdvjm3btt1ykoW0ixiLuXbFRRD3i7NGiIiIiEjyYVlx0sTGjRvVseSitoMHD+oZj4iIiMju6FrciQmDYqG+27lTrx4RERERSTTnbvLkyeoEwdvx8/PDjh07NM1EREREZM+kWcSYiIiIiO6e1Euh6OXDDz+Er68vXF1d1Yv37tu3T/MMu3btwuOPP46aNWuqw9ObN2/WPIO4NIq4cHGlSpVQvXp1BAcHIzY2FnpYvHgxgoKC1FXLxSbW+vnmm2+gN3FVFXF8/vOf/2j6vOISPeJ5C24BAQHQQ0JCAv7973/Dy8sLbm5uaNq0KX777TfNc4jf2cJtIrYxY8ZomkOcABYaGor77rtPbY8GDRrgtdde02WKyZUrV9TXZr169dQsHTp0wP79+3V97xLtIM4AFHOuRSZxvcwTJ05onkPM9xaL5ovXrbj/8OHD5Z6hJFlu3LiBqVOnqr837u7u6tcMGTJEvUqBljny3lfE+4jIIdaaFcemJFdDKO8cBY0cOVL9mnfffbfccxgZi7tC1q1bp64vI07HFid0NGvWDI888ggSExM1zSGGq8Vzi0JTL+IyJ+Ifxr179+L7779X34TEm2FxQ+m2Urt2bbWQEnM0ReHQtWtX9O3bF0ePHoVexD+SS5cuVYtOPQQGBuLChQv5m7iyi9ZSU1PRsWNHODk5qcV2TEwM3n77bfUfBj2OR8H2EK9Z4amnntI0x5tvvqn+MbJw4UJ1fSpxe968efjggw+gtRdeeEFth9WrV+PIkSPq76/4B1sU5Hq9d4m2EJeZXLJkiVo4iEJCvMdmZmZqmkPc36lTJ/X42FpxWa5fv67+WyP+IBAfRdEp/oh+4oknNM0h3H///errVrxWxPuJ+INJvGbEkhxa5sgjrjkv/v0RRSCVkhiWpX+0bdvWMmbMmPzbOTk5lpo1a1rCw8N1yyQO06ZNmyx6S0xMVLP89NNPFhl4enpali1bpstzX7lyxdKwYUPL999/b+ncubNl3Lhxmj7/zJkzLc2aNbPoberUqZZOnTpZZCSOSYMGDSy5ubmaPu+jjz5qef7556329e/f3zJ48GBNc1y/ft3i6Oho2bJli9X+li1bWl555RVd3rvEsahRo4Zl/vz5+fsuX75scXFxsXz++eea5SgoLi5Ovf/QoUM2e/6SZsmzb98+9evOnj2ra460tDT167Zv3655jj///NNSq1Yty++//26pV6+eZcGCBTbLYETsuSsgOztb7RkSf9kWXItP3N6zZw/MTlzMWahataquOcSwV0REhPrXX0kvxVLeRI/mo48+avVa0ZoYyhJ/0davXx+DBw/GuXPndFmIvHXr1mrvmBi6b9Gihbqqugy/y2vWrFEvXyiGdLQkhj7FZYKOHz+u3o6KilJ7QXr37q1pjps3b6q/K2J6SUFiKFSPXl4hLi5OXZC14O+NuFC8mP7C91jr91rxuq1SpYquv0MfffSRenxEL5uWxFJozz77rHrSpRihIDs7W1Y2SUlJ6pth4RWgxe0//vgDZiZ+2cTcHTEE16RJE10yiKECUcyJ4ZuKFSuqXfaNGzfWPIcoLMXwia3nLhVH/GP46aefwt/fXx2CDAsLw4MPPojff/9dnSOpFXEVGTEEKaYyTJ8+XW2Tl19+Wb024tChQ6EXMYfn8uXLeO655zR/7mnTpiE9PV2duyQu/i3eU9544w21ANeSeB2I3xcx369Ro0bq+9jnn3+uFlFiJQI9iMJOKOo9Nu8+sxPvb2IO3jPPPKPOL9bali1bMGjQIHW4WMyLFMP64kL2WhJD5RUqVFDfS6hsWNxRiXuqROGg11/8gihkxKRn8Vftl19+qRYPYl6glgVefHw8xo0bp77hFe4R0VLBXiAx508Ue2LS/BdffIHhw4drWvSLnrs5c+aot0XPnXidiPlUehZ3y5cvV9tIj7k64hh89tlnWLt2rdrrIF6z4g8jkUXrNhFz7UTvZa1atdRCs2XLlmrRUNz6oqQfMa954MCB6kkn4o8mPXTp0kV9zYrODtELL/KIuZGiZ14L4rX53nvvqX9Aa93rbiQcli1A/HUi3gD/+usvq/3ido0aNWBWL730kvrXnFhzUJzYoBfRGyR6HMTi1+JMXjFUIN4EtCTeeMTJNeIfSfGXpdhEgSkmiIvP9bpUnhi+EZOhT548qenzir/sCxfXopdIjyHiPGfPnsX27dvVkwn0IIaSRO+d6P0QZ0CK4aXx48err1mtiTN1xevz6tWr6h8m4sx/UUCIoXw95L2P8j329oWdeP2KPx716LUTxAku4n22Xbt26h9J4n1NfNTKzz//rL7H1q1bN/89VrTJxIkT1RM8qGRY3BUqHkThIObLFOyZELf1mtulJ/HXoyjsxPDnjz/+qC7tIBNxbLKysjR9zm7duqnDw+Iv27xN9FyJITfxufjjQA/iH+9Tp06pxZaWxDB94eVxxFwz0YuolxUrVqi9DGJOpB7EcJaYq1uQeF2I16texD/Y4rUhzm7+9ttv1TPN9SDeQ0QRV/A9Vgxhi54hM77HFi7sxDxa8YeJWJ7FrO+z4o+h6Ohoq/dY0est/mgSr10qGQ7LFiLmDomhE/EPdtu2bdW1dcTE/WHDhmn+j3XBXhgxEVm8yMXJDOIvGq2GYsXQ0n//+191/k7enBgxwVZMytZSSEiIOswmfnaxdpfItXPnTs1/2UU7FJ5zKP7hFG/GWs5FnDRpkrpOlCiixHpYYukeUUCIITctiR4pcQKBGJYV/ziJniExCVtsev1DJIo78Tss/uLXgzguYo6deK2KYdlDhw7hnXfeUYdHtSZ+P8QfaWJKg3g/Ef9AirmAtnw/u9N7lxiifv3119GwYUO12BNLgIh/vMU6mlrmSElJUXuY89aTy/sjRRSf5d2LWFwWUXQPGDBAHYYUIySi9z/vvVbcLzodtMgh3sPE61YswSIyiWFZsVSJWDanvJcTutOxKVzciqWWxDERr2MqIb1P15XRBx98YKlbt67F2dlZXRpl7969mmfYsWOHeop44W3o0KGaZSjq+cW2YsUKi9bE0hLidHhxTKpVq2bp1q2b5bvvvrPIQI+lUJ5++mmLj4+P2h5iuQBx++TJkxY9/O9//7M0adJEXc4iICDA8tFHH1n08u2336qv0djYWN0ypKenq68H8R7i6upqqV+/vrr0SFZWluZZ1q1bpz6/eJ2IJUjEMk9i6RE937vEciihoaGWe++9V33NiN9lWxyvO+UQ72NF3S+WGdIyS95SLEVt4vu0ypGRkWHp16+fuvSXeL2I95cnnnhCXZZF73/fuBRK6fHyY0REREQGwjl3RERERAbC4o6IiIjIQFjcERERERkIizsiIiIiA2FxR0RERGQgLO6IiIiIDITFHREREZGBsLgjIiIiMhAWd0Qkreeee87qslQPP/ywevkqrYlL3SmKgsuXL2v+3EREpcXijojKVHSJYkds4tqXfn5+mD17Nm7evGnT5924cSNee+21En0tCzIiMit9rqxNRHavV69eWLFiBbKysrB161aMGTNGvcB3SEiI1ddlZ2eX28XPxYXFiYioeOy5I6IycXFxQY0aNVCvXj2MGjUK3bt3x1dffZU/lPrGG2+gZs2a8Pf3V78+Pj4eAwcORJUqVdQirW/fvjhz5kz+4+Xk5GDChAnq/V5eXpgyZQoKX/q68LCsKCynTp2KOnXqqHlED+Ly5cvVx+3SpYv6NZ6enmoPnsgl5ObmIjw8HPfddx/c3NzQrFkzfPnll1bPI4rV+++/X71fPE7BnEREsmNxR0TlQhRCopdO+OGHHxAbG4vvv/8eW7ZswY0bN/DII4+gUqVK+Pnnn7F7925UrFhR7f3L+563334bn376KT755BP88ssvSElJwaZNm4p9ziFDhuDzzz/H+++/j2PHjmHp0qXq44pib8OGDerXiBwXLlzAe++9p94Whd2qVauwZMkSHD16FOPHj8e///1v/PTTT/lFaP/+/fH444/j8OHDeOGFFzBt2jQbtx4RUfnhsCwR3RXRuyaKuW+//RZjx47FpUuX4O7ujmXLluUPx65Zs0btMRP7RC+aIIZ0RS+dmBvXs2dPvPvuu+qQriisBFF8ice8nePHj+OLL75QC0jRayjUr1//liHc6tWrq8+T19M3Z84cbN++He3bt8//HlFMisKwc+fOWLx4MRo0aKAWm4LoeTxy5AjefPNNG7UgEVH5YnFHRGUieuREL5nolROF27/+9S/MmjVLnXvXtGlTq3l2UVFROHnypNpzV1BmZiZOnTqFtLQ0tXftgQceyL+vQoUKaN269S1Ds3lEr5qjo6NakJWUyHD9+nX06NHDar/oPWzRooX6uegBLJhDyCsEiYjsAYs7IioTMRdN9HKJIk7MrRPFWB7Rc1fQ1atX0apVK3z22We3PE61atXKPAxcWiKH8PXXX6NWrVpW94k5e0RERsDijojKRBRw4gSGkmjZsiXWrVunDpFWrly5yK/x8fFBZGQkHnroIfW2WFblwIED6vcWRfQOih5DMVcub1i2oLyeQ3GiRp7GjRurRdy5c+du2+PXqFEj9cSQgvbu3Vuin5OISAY8oYKIbG7w4MHw9vZWz5AVJ1TExcWpc+1efvll/Pnnn+rXjBs3DnPnzsXmzZvxxx9/YPTo0cWuUefr64uhQ4fi+eefV78n7zHFPDxBnMUr5veJ4WMxD1D02olh4UmTJqknUaxcuVIdEj548CA++OAD9bYwcuRInDhxApMnT1ZPxli7dq16ogcRkb1gcUdENnfPPfdg165dqFu3rnrChOgdGz58uDrnLq8nb+LEiXj22WfVgk3McROFWL9+/Yp9XDEsPGDAALUQDAgIwIsvvohr166p94lh17CwMPVM13vvvRcvvfSSul8sghwaGqqeNStyiDN2xTCtWBpFEBnFmbaiYBTLpIgTO8RJGERE9kKx3G62MhERERHZHfbcERERERkIizsiIiIiA2FxR0RERGQgLO6IiIiIDITFHREREZGBsLgjIiIiMhAWd0REREQGwuKOiIiIyEBY3BEREREZCIs7IiIiIgNhcUdEREQE4/h/jKyvVFnn6h0AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cohen's Kappa with quadratic weights: 0.5174\n",
      "Mean Absolute Error: 2.5882\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score, confusion_matrix, ConfusionMatrixDisplay\n",
    "from sklearn.metrics import cohen_kappa_score, mean_absolute_error\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from catboost import CatBoostClassifier\n",
    "\n",
    "# Загрузка данных\n",
    "data = pd.read_csv(r'D:\\Proga\\AML\\PPG_dataset\\dataset_limited.csv') \n",
    "\n",
    "# Удаление пропущенных значений\n",
    "data.dropna(inplace=True)\n",
    "\n",
    "# Проверка наличия бесконечных значений\n",
    "if np.any(np.isinf(data.values)):\n",
    "    print(\"Найдены бесконечные значения в данных.\")\n",
    "    # Удаление строк с бесконечными значениями\n",
    "    data = data[np.isfinite(data).all(axis=1)]\n",
    "    print(\"Строки с бесконечными значениями удалены.\")\n",
    "else:\n",
    "    print(\"Бесконечных значений нет в данных.\")\n",
    "\n",
    "# Выделение признаков и целевой переменной\n",
    "X = data.drop(['id', 'age_group'], axis=1).values\n",
    "y = data['age_group'].values - 1 \n",
    "\n",
    "# Нормализация данных\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X)\n",
    "\n",
    "# Разделение данных на обучающую и тестовую выборки\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)\n",
    "\n",
    "# Инициализация модели CatBoost\n",
    "model = CatBoostClassifier(\n",
    "    iterations=1000,\n",
    "    learning_rate=0.1,\n",
    "    depth=6,\n",
    "    loss_function='MultiClass',\n",
    "    verbose=100\n",
    ")\n",
    "\n",
    "# Обучение модели\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# Предсказание на тестовых данных\n",
    "y_pred = model.predict(X_test)\n",
    "\n",
    "# Оценка модели\n",
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "print(f'Accuracy of the model on the test set: {accuracy * 100:.2f}%')\n",
    "\n",
    "# Построение матрицы ошибок\n",
    "cm = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "# Визуализация матрицы ошибок\n",
    "plt.figure(figsize=(8, 6))\n",
    "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=np.arange(15), yticklabels=np.arange(15))\n",
    "plt.xlabel('Predicted')\n",
    "plt.ylabel('True')\n",
    "plt.title('Confusion Matrix')\n",
    "plt.show()\n",
    "\n",
    "# Вычисление Cohen's Kappa с весами \"quadratic\"\n",
    "kappa_quadratic = cohen_kappa_score(y_test, y_pred, weights=\"quadratic\")\n",
    "print(f'Cohen\\'s Kappa with quadratic weights: {kappa_quadratic:.4f}')\n",
    "\n",
    "# Вычисление MAE\n",
    "mae = mean_absolute_error(y_test, y_pred)\n",
    "print(f'Mean Absolute Error: {mae:.4f}')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
